Many software applications and computing platforms make use of Representational State Transfer (REST) Application Programming Interfaces (APIs). REST refers to a particular architectural style and particular interfaces for clients and servers. Clients and servers have a uniform interface in which individual clients and servers are replaceable as long as the interface remains unchanged. Further, communication between REST clients and servers is stateless and cacheable. The REST style of client and server architecture can include other attributes, as well. Automated testing tools can perform functional testing and regression testing on such software applications via REST APIs. However different products, while each conforming to the REST architectural style, can be incompatible between each other, such as due to different APIs, different available states, or different communication protocols.
Thus, in order to perform functional or regression testing to such different RESTful platforms, completely separate tests are created manually for each RESTful platform.